export interface Task {
  id: string
  type: 'merge' | 'toExcel'
  status: 'pending' | 'processing' | 'completed' | 'failed'
  files: string[]
  options: {
    reserveSpace?: boolean
    margin?: number
  }
  createdAt: string
  updatedAt: string
  result?: {
    path?: string
    error?: string
  }
}

export interface Log {
  id: number
  type: 'info' | 'success' | 'error' | 'processing'
  content: string
  timestamp: number
}

export interface AppSettings {
  openAIKey: string
  aiEnabled: boolean
  voiceEnabled: boolean
  autoPlay: boolean
}

export interface ChatMessage {
  id: string
  role: 'user' | 'assistant' | 'system'
  content: string
  type: 'text' | 'image' | 'pdf' | 'audio'
  timestamp: number
  status: 'sending' | 'success' | 'error'
  error?: string
  files?: {
    url: string
    type: string
    name: string
  }[]
}

export interface ChatSession {
  id: string
  title: string
  messages: ChatMessage[]
  createdAt: string
  updatedAt: string
} 